// Copyright (c) 2017-2018, NVIDIA CORPORATION. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#include "dali/operators/reader/mxnet_reader_op.h"

namespace dali {

DALI_REGISTER_OPERATOR(readers__MXNet, MXNetReader, CPU);

DALI_SCHEMA(readers__MXNet)
  .DocStr("Reads the data from an MXNet RecordIO.")
  .NumInput(0)
  .NumOutput(2)
  .AddArg("path",
      R"code(List of paths to the RecordIO files.)code",
      DALI_STRING_VEC)
  .AddArg("index_path",
      R"code(List (of length 1) that contains a path to the index (.idx) file.

The file is generated by the MXNet's ``im2rec.py`` script with the RecordIO file. The list can
also be generated by using the ``rec2idx`` script that is distributed with DALI.)code",
      DALI_STRING_VEC)
  .AddParent("LoaderBase");


// Deprecated alias
DALI_REGISTER_OPERATOR(MXNetReader, MXNetReader, CPU);

DALI_SCHEMA(MXNetReader)
    .DocStr("Legacy alias for :meth:`readers.mxnet`.")
    .NumInput(0)
    .NumOutput(2)
    .AddParent("readers__MXNet")
    .MakeDocPartiallyHidden()
    .Deprecate(
        "readers__MXNet",
        R"code(In DALI 1.0 all readers were moved into a dedicated :mod:`~nvidia.dali.fn.readers`
submodule and renamed to follow a common pattern. This is a placeholder operator with identical
functionality to allow for backward compatibility.)code");  // Deprecated in 1.0;

}  // namespace dali
